1. Field of the Invention
The invention relates to the prevention of collisions between different aircraft, or aircraft and terrain, in an overall computer controlled system.
2. Detailed Description of the Invention
Flight Rules dictate that the pilot must fly at an odd thousand foot level up to Flight Level 240 and every other odd thousand foot level higher than FL240 when flying a magnetic bearing of 0 to 179. Even thousand foot levels are used for bearing of 180 to 359. This means that aircraft flying along an airway are separated from other aircraft flying in the opposite direction by 1000 ft. at altitudes below FL240 and by 2000 ft. above FL240.
In one aspect of the invention, flight conflict between different aircraft and between an aircraft and terrain within the same altitude bands is predicted.
Assuming that an aircraft is within its assigned band and flying at a constant altitude, it should be necessary to only search within its altitude band for other aircraft that may be in flight conflict. In reality, an aircraft may be flying close to the upper limit of altitude band 1 and be in potential conflict with an aircraft flying at the lower limit of altitude band 2. To resolve this ambibuity, aircraft may be divided into two groups according to altitude, see FIG. 1. The Even Altitude group contains 2000 ft. altitude bands separated on even thousand foot altitude boundaries and the Odd Altitude group contains 2000 ft. altitude bands separated on odd thousand foot altitude boundaries. As an example, aircraft A and B are assigned to Even Altitude Group 16K to 18K and Odd Altitude group 15K to 17K. Aircraft C and D are assigned to Even Altitude group 16K to 18K and Odd Altitude Group 17K to 19K. As each aircraft is made available for conflict analysis, its actual altitude defines which Even/Odd Altitude group and altitude band limits are to be used to get the other aircraft for conflict comparison. Thus, for example, aircraft B (FIG. 1) lies between 16,500 and 17,500 ft. altitude and causes a selection of the 16000-18,000 altitude band of the Even Altitude group and is compared with aircraft A, C, and D. Aircraft D is compared with aircraft C, E, and F.
Each aircraft is surrounded by an uncertainty area of airspace, which will be defined as a "puck". The puck is defined by a radius R and a height H with the aircraft located at the center. The puck moves with the aircraft and has the same velocity vector as the aircraft.
The radius of the puck (R) depends upon several factors. First, the aircraft can perturbate around an average flight path. This can be caused by low damped phugoid instability modes in the aircraft or by pilot inattention. Second, some aircraft have higher control response rates, i.e., can change their direction more rapidly. Third, the cruise speed is a factor: the faster the aircraft, the larger the amount of airspace that can be entered in a given time span.
The height of the puck (H) depends also upon several uncertainty factors. First, inaccuracies within the altimeter or pilot plumbing systems will lead to altimeter reporting errors. Second, the altimeter vernier which relate barometric pressure to true altitude may not be accurately set to the true increase of mercury below FL240 or at 29.92 above FL240. Third, digital alimeters report only to the nearest 100 feet and so may have a reporting error of .+-.50 feet. Therefore each aircraft, although it is capable of reporting accuracies to within 1 foot, in reality lies within an inaccuracy band of around 200 feet.
Until the response of the system dictates otherwise, the puck radius (R) will be an assigned value based upon aircraft cruise speed. The puck height (H) will be an assigned value designed to give maximum degree of protection with a minimum of false conflicts with adjacent altitude bands. The values assigned to each aircraft puck however may be changed or reset. The Ground plane, mountains, obstacles and other obstructions are all represented by stationary pucks with the appropriate radius, height, and puck center altitude necessary to define the ground object.
A conflict prediction algorithm is programmed into a digital computer to compare two pucks and determines two levels of conflict. First there is immediate conflict where the boundary of one puck intersects with or otherwise violates the boundary of the other puck at this instant of time. Second, there is future conflict where although one puck does not touch the other, they are travelling so that they will intersect at some future time. If intersect does occur, the algorithm obtains the minimum separation distance between the centers of the pucks and the delta time to minimum distance. The algorithm calculation makes no judgment as to whether or not a conflict is an alarm condition. It passes back the conflict information to the Conflict Prediction task and there it is matched with the conflict criteria.
The essential points of this method are:
a. Uses linear programming techniques, requiring no recursive iterations. PA1 b. All objects are modelized as three dimensional cylinders having a vertical axis. PA1 c. There is NO distinction between aircraft and terrain (mountains, etc.). A mountain is thought of as a large airplane with zero velocity. PA1 d. To first order, all equations are linearly independent in z. This reduces the geometry to two spatial dimensions, (x, y) and one time dimension. PA1 e. Algorithm gives conflict indication, distance of closest approach, and time-before-collision. PA1 (X, Y, Z) = coordinates of center of cylinder PA1 r = radius of cylinder PA1 h = height of cylinder PA1 (X, Y) = coordinates of center PA1 V = radius PA1 V = velocity vector Normally, if we have N objects, the system can be described by EQU Fi (x,y,t) = 0 i = 1, N (1) PA1 D.sub.ij.sup.min .ltoreq. R.sub.i + R.sub.j.
In general, all objects (aircraft, mountain, etc.) can be described by the following attributes:
Assume first of all that the conflict problem is linearly separable in Z, thereby reducing the problem to N.sub.z separate two dimensional problems. If the maximum altitude is 40,000 ft., and h is 1,000 ft., then N.sub.z = 40,000/1,000 = 40. We therefore have up to 40 sets of dimensional problems. The following concerns only the two dimensional nature of the problem.
From the preceding discussion, the conflict problem reduces to predicting the collision of "moving circles" having various radii and velocities. For example, two planes circling a mountain are shown in FIG. 2.
Each circle is described by;
where Fi (x,y,t) = 0 is the equation of the center of the object through space-time.
The distance between objects is EQU Dij = [(Xi - Xj).sup.2.sub.+ (Yi-Yj).sup.2 ].sup.1/2 ( 2)
represented by a N .times. N matrix. We evaluate this by transforming equation (1) into the form EQU Xi = Gi (t) = X.degree.i + V.sup.x i t (3) EQU Yi = Hi (t) i = 1, N
and therefore EQU Dij = [(Gi (t) - Gj (t) ).sup.2 + (Hi (t) - Hj (t) ) .sup.2 ].sup.1/2( 4)
Now, we can compute the distance of closest approach (Dij) by differentiating the above with respect to time, and equating to zero, i.e., ##EQU1## Solving the above for T.sup.min, and substituting into equation (4) gives Dij.sup.min, the distance of closest approach.
Now, if Dij.sup.min .ltoreq. V.sub.i + V.sub.j
We have a conflict imminent in t.sup.min minutes.
Specifically, for constant velocities, and straight lines, ##EQU2## Rearranging these equations, ##EQU3## Solving for t', ##EQU4## =time before collision (Substitute into D.sub.ij (1) for D.sub.ij .sup.min ##EQU5## Therefore ##EQU6## To compute D.sub.ij.sup.min ; ##EQU7## Solve for t ##EQU8## Where .DELTA.X.sub.ij = .DELTA.X when D is minimal. Therefore ##EQU9## Where t' = t when D is minimal. Therefore we have ##EQU10## Which is 3 equations with 3 unknowns (.DELTA.X.sub.ij', .DELTA.Y.sub.ih', t')
Using the information above, we compute D.sub.ij.sup.min ##EQU11## Substitution t' into the above gives the minimum separation.
Now, a collision is imminent if
R.sub.i and R.sub.j represent the radii of the pucks assigned to respective aircraft whose closest distance of approach is being determined by the conflict prediction algorithm.
Programming of the conflict prediction algorithm into a digital computer permits comparison of two pucks.
The conflict prediction task flow chart is shown in FIG. 3. It checks the aircraft altitude, selects on Even/Odd Altitude group and searches the group for the desired altitude band. Each aircraft data block entry in the altitude band is compared one at a time with the current updated aircraft data block. The conflict predict algorithm subroutine performs the calculations. Altitude information received from the aircraft is based upon the standard pressure setting of 29.92 In MG. The aircraft altitude is converted to actual altitude by a linear equation conversion using the actual barometric pressure from the meterlogical data array for the X, Y sector position. The actual altitude is tested against ground maximum and minimum values. If ground interference is suggested, the current aircraft data block is compared with all the Terrain data block in that altitude range using the same conflict predict subroutine.
Comparisons which result in conflicts are either immediate or future conflicts. Future conflicts occur N minutes in the future and any future conflicts occuring greater than M minutes in the future are ignored. M is specified within the system but may be changed or reset by operator input.
Future conflicts occurring in less than M minutes produce a warning alarm call to an Alarm Processing task (explained hereinafter) with the parameters of the alarm. Immediate conflicts showing actual puck violation produce an emergency alarm call to the Alarm Processing task. When all conflict comparisons are made and all alarm calls processed, the conflict prediction task calls the control prediction task and passes the address of the current updated aircraft data block. The controller may then use this information, or it may be automatically processed by a computer to prevent collisions.
The control prediction task performs two major functions. First it compares the new aircraft position with the anticipated flight plan boundries. Second, if a control fix is assigned, it will monitor the aircraft toward intercept with that control fix.
Each aircraft is continually executing a predefined flight plan. The aircraft is assigned to a single altitude or a block of altitudes. A single altitude assignment has an altitude tolerance band associated with it. The present band for example may be .+-. 400 ft. above FL180. The altitude assignment gives an upper and lower altitude limit. The current aircraft altitude is compared to the assigned altitude limits, and an out-of-limit condition generates a call to the alarm processor associated with control prediction, with alarm parameters defining the alarm condition.
The aircraft puck is assigned a radius value equal to 1N the total distance between the aircraft and its control fix. The control fix puck is assigned to the same altitude as the aircraft, has no effective height and also has a radius equal to 1/N the separation distance. Executing the conflict prediction algorithm subroutine on these two pucks provides intercept data to the fix. A future conflict indication shows that the aircraft is on a relative course no greater than .+-. Arc Sin Z/N degrees. As N gets larger the allowed deviation from the track decreases. The alarm processor converts the system alarm indications discovered by the conflict prediction and control prediction tasks into a usable form such as a visual display.